home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 10 / FM Towns Free Software Collection 10.iso / ms_dos / tool / conhlp03 / fswchsrc / instl.c < prev    next >
C/C++ Source or Header  |  1995-02-19  |  1KB  |  68 lines

  1. /*
  2.     instl.c
  3.     インストール用バッチ制作関数
  4.     1994/03/03 1994/08/20
  5. */
  6.  
  7. #include "fswch.h"
  8.  
  9. int instr( char a, const char *);    /* 文字列sの文字aの位置 */
  10. int strcmp( const char *,const char *);    /* 文字列の比較 */
  11. char *strcpy( char *,const char *);    /* 文字列のコピー */
  12. char *koumoku( char *k );        /* 項目とりだし */
  13.  
  14. const char fname[]="instl.bat";
  15.  
  16. void instl( int no ){/* インストール用バッチ制作 no:作品番号 */
  17.     fpos_t ptr;
  18.     FILE *fp;
  19.     char cpf = OFF,*bp;
  20.     static char buff[256],bdir[85];
  21.  
  22.     if( no < 0 ) return;
  23.     
  24.     cprintf("\r\n\n%s 作成\r\n",fname);
  25.     /* instl.bat オープン */
  26.     if((fp=fopen(fname,"a+"))==NULL){
  27.         cprintf(ESC_RED"%s がオープン出来ない."
  28.             " --- Hit anykey ---",fname);
  29.         getop();
  30.         return;
  31.     }
  32.  
  33.     ptr = idxptr[no];
  34.     fsetpos(idxfp,&(ptr));
  35.  
  36.     do{
  37.         fgets( buff, 256,idxfp );
  38.         bp = koumoku( buff );
  39.         /*
  40.         if((bp = koumoku( buff ))==NULL){
  41.             fputs("項目エラー",stderr);
  42.             return;
  43.         }
  44.         */
  45.         if(strcmp(buff,"PROGRAM")==NULL){
  46.             fprintf(fp,"rem %s\n",bp);
  47.             cprintf("rem %s\r\n",bp);
  48.         }
  49.         if(strcmp(buff,"COPY")==NULL){
  50.             cpf = ON;
  51.             fprintf(fp,"copy q:%s\n",bp);
  52.             cprintf("copy q:%s\r\n",bp);
  53.         }
  54.         if(strcmp(buff,"DIR")==NULL){
  55.             strcpy(bdir,bp);
  56.         }
  57.     }while(*buff!='\n' && *buff!=NULL);
  58.     if(cpf==OFF){
  59.         /* DIR */
  60.         fprintf(fp,"copy q:%s\\*.*\n",bdir);
  61.         cprintf("copy q:%s\\*.*\r\n",bdir);
  62.     }
  63.     fputs("pause\n\n",fp);
  64.     fclose(fp);
  65.     cputs("\r\n\n"ESC_GREEN"作成終了! --- hit anykey. ---");
  66.     getop();
  67. }
  68.